perm filename ALPH.FAI[XX,LCS]1 blob
sn#213136 filedate 1976-04-28 generic text, type T, neo UTF8
00100 TITLE ALPHA
00200 ENTRY ALPHA
00300 EXTERNAL .COMM.,STF,POSI,PLTR,FONT,SPACER,PNUM,ROFF
00400 EXTERNAL IFIX,ITMSUB,RHORZ,CLEFS
00500
00600 DEFINE JTR<.COMM.+=20> ↔ DEFINE RB<.COMM.+=43>
00700 DEFINE RW<.COMM.+=42> ↔ DEFINE RX<.COMM.+=40>
00800 DEFINE RY<.COMM.+=39> ↔ DEFINE R<.COMM.+=23>
00900 DEFINE RF<.COMM.+=18> ↔ DEFINE JR3<.COMM.+=27>
01000 DEFINE IFNT<.COMM.+=36> ↔ DEFINE RZ<.COMM.+=41>
01100 DEFINE JX<.COMM.+=34> ↔ DEFINE FILL<.COMM.+=22>
01200
01400 ALPHA: 0
01500 MOVE .COMM.+1 ;JA
01600 CAIN 7
01700 JRST AL20 ;JA=7 IS FOR TRILLS, ETC.
01800 MOVEI =99
01900 MOVEM JTR
02000 MOVE .COMM.+6
02100 CAMGE [100.0]
02200 JRST .+3
02300 MOVN [100.0]
02400 FADRM .COMM.+6 ;R5=R5-100
02500 MOVE NR#
02600 CAME [ASCIZ/PRIM0/]
02700 CAMN [ASCIZ/BDI40/]
02800 JRST AL54
02900 MOVE [ASCIZ/BDR40/]
03000 MOVEM NR
03100 AL54: MOVE [19.7]
03200 FMPR .COMM.+6
03300 FMPR STF+=8
03400 MOVEM R ;OR JUST LEAVE IN AC0
03500
03600 MOVE 1,.COMM.+=24 ;J3
03700 TLC 1,232000
03800 FADR 1,1
03900 MOVEM 1,RB ; OR LEAVE IN AC1
04000 MOVE 2,.COMM.+5
04100 MOVEM 2,RW ; OR LEAVE IN AC2
04200 SETZM .COMM.+=30 ;J9=0
04300 MOVEI 15,4
04400 AL50X: SETOM NXZ# ; THE BIG LOOP
04500 MOVEM 15,K#
04600 MOVE 3,.COMM.+3(15) ;RZ IS AC3
04700 FADR 3,[0.2]
04800 JSA 16,IFIX
04900 JUMP 3
05000 MOVEM JY#
05100 MOVE 4,[=1000000] ; 4 IS JX
05200 MOVEM 4,JX
05300 MOVEI 14,1 ; LA
05400 AL53X: MOVEM 14,LA#
05500 MOVE JY
05600 IDIV JX
05700 MOVEM J5X#
05800 MOVE 2,.COMM.+=24 ;R3=J3
05900 TLC 2,232000
06000 FADR 2,2
06100 MOVEM 2,.COMM.+4
06200 CAIN =99
06300 JRST AL55
06400 AL73: SKIPL KFNT#
06500 JRST .+3
06600 MOVEI 2,1
06700 MOVEM 2,IFNT
06800 CAIGE =70
06900 JRST AL72
07000 SETOM KFNT
07100 SETOM IFNT
07200 SUBI =60
07300 MOVEM .COMM.+=26 ; J5
07400
07500 AL72: CAIGE =50
07600 JRST AL1
07700
07800 CAIG =49
07900 JRST AL72X
08000 CAIN =50
08100 JRST AL2
08200 CAIN =51
08300 JRST AL3
08400 CAIN =52
08500 JRST AL9
08600 CAIN =53
08700 JRST AL4
08800 CAIN =54
08900 JRST AL5
09000 AL72X: CAILE =55
09100 JRST AL10
09200 MOVEI =36 ;J5=36 LINE 6200 IN ALPHA.F4 11/3/76
09400 MOVE 2,[2.9]
09500 FADRM 2,.COMM.+5 ; R4
09600 JRST AL1
09700
09800 AL3: MOVE 2,[ASCIZ/BDI40/] ; CODE 51
09900 SKIPA
10000
11000 AL2: MOVE 2,[ASCIZ/BDR40/] ; CODE 50
11200 SKIPGE FONT
11400 AL9: MOVE 2,[ASCIZ/PRIM0/] ; CODE 52
11433 MOVEM 2,NR
11466 JRST AL11
11500
12000 AL4: MOVN 2,[2.0]
12100 MOVEM 2,.COMM.+=22 ;FILL IS EQUIV. TO RJQ(19)
12200 JRST AL11
12300
12400 AL5: SETZM .COMM.+=22
12500 JRST AL11
12810
12819 AL10: ADDI 6
12828 MOVE 2,NR
12837 MOVEM 2,NRX#
12846 SETZM NXZ#
12855 MOVE 2,[ASCIZ/BDR40/]
12864 MOVEM 2,NR
12873 MOVE 2,FONT
12882 MOVEM 2,NJF#
12891 SETOM FONT ; JFONT
12900
12950 AL1: MOVEM .COMM.+=26 ;PUT AWAY J5
13000 JSA 16,SPACER
13100 .COMM.+=26
13200 IFNT
13300 RB
13400 R
13500 ;; MOVE .COMM.+=26 ; PUT J5 BACK INTO AC0
13600 CAILE =60
13700 JRST AL71
13800 CAIN =47
13900 JRST AL6
14000 CAIL =47
14100 JRST AL11
14200 SKIPE 2,.COMM.+=12 ; LABEL 7 IN ALPHA.F4
14300 JRST AL79
14400 SKIPG FONT
14500 JRST AL78
14600 JRST AL77
14700 AL79: MOVEM 2,.COMM.+=10 ; R9
14800 SETOM .COMM.+=30 ;J9=-1
14900 JRST AL77
15000 AL78: SKIPGE PLTR
15100 AL77: CAIL =36
15200 JRST AL30
15300 MOVE 2,[ASCIZ/PRIM0/]
15400 CAME 2,NR
15500 JRST AL70
15600 SKIPGE IFNT
15700 CAIGE =10
15800 JRST AL30
15900 JRST AL71
16000
16100 AL70: CAILE =9
16200 SKIPL IFNT ;IFNT IS .COMM.+=36
16300 JRST AL71
16400 ADDI =26
16500 MOVEM .COMM.+=26 ; J5
16600
16700 AL71: MOVE 2,.COMM.+7
16800 MOVEM 2,RX
16900 MOVE 2,[0.28]
17000 FMPR 2,.COMM.+6
17100 MOVEM 2,.COMM.+7
17200 MOVE 3,.COMM.+=8
17300 MOVEM 3,RY
17400 MOVEM 2,.COMM.+=8
17500 MOVE 2,.COMM.+=9 ; R8
17600 MOVEM 2,RZ ; LINE 11400 IN ALPHA.F4
17700 MOVE 2,[-2.1]
17800 FADRM 2,.COMM.+5
17900 MOVE 2,FILL
18000 MOVEM 2,.COMM.+=9
18100 MOVE 2,NR
18200 MOVEM 2,.COMM.+=11 ; NRJ IS EQUIV TO R10
18300 MOVEI 2,=12
18400 MOVEM 2,.COMM.+1
18500 JSA 16,CLEFS
18600 MOVE 2,RX
18700 MOVEM 2,.COMM.+7
18800 MOVE 2,RY
18900 MOVEM 2,.COMM.+=8
19000 MOVE 2,RZ
19100 MOVEM 2,.COMM.+=9
19200 SKIPGE NXZ
19300 JRST AL6
19400 MOVE 2,NRX
19500 MOVEM 2,NR
19600 MOVE 2,NJF
19700 MOVEM 2,FONT
19800 JRST AL6
19900
20000 AL30: SETZM .COMM.+=28 ;J7=0
20100 MOVE 2,.COMM.+6
20200 MOVEM 2,.COMM.+7
20300 JSA 16,PNUM
20400 AL6: JSA 16,ROFF
20500 JUMP RB
20600 MOVE 2,
20700 JSA 16,IFIX
20800 JUMP 2
20900 MOVEM .COMM.+=24 ;J3=ROFF(RB)
21000 MOVE 2,RW
21100 MOVEM 2,.COMM.+5
21200 AL11: MOVN 2,J5X
21300 IMUL 2,JX
21400 ADDM 2,JY
21500 AL53: MOVE 2,JX
21600 IDIVI 2,=100
21700 MOVEM 2,JX
21800 MOVE 14,LA
21900 CAIGE 14,4
22000 AOJA 14,AL53X
22100
22200 AL50: MOVE 15,K
22300 CAIGE 15,6
22400 AOJA 15,AL50X
22500 AL55: MOVE 2,JTR
22600 CAIE 2,=99
22700 JRST AL52
22800 JRST AL100
22900
23000 AL20: MOVE .COMM.+7 ; FOR TRILLS, ETC.
23100 MOVEM RF
23200 MOVE .COMM.+=28 ; J7 IS IN AC0
23300 CAIG 1
23400 JRST AL200
23500 CAIL =8
23600 JRST AL201
23700
23800 MOVE 2,.COMM.+=9
23900 MOVEM 2,RW
24000 MOVE 2,.COMM.+4
24100 MOVEM 2,RB
24200 MOVEM NR ; NR=J7
24300 MOVE 2,.COMM.+=26
24400 MOVEM 2,JY
24500 MOVE 2,.COMM.+=10
24600 JUMPN 2,.+3
24700 MOVE 2,[1.0]
24800 MOVEM 2,.COMM.+=10
24900 MOVEM 2,RY
25000 FMPR 2,STF+=8
25100 FMPR 2,[23.84]
25200 MOVEM 2,RX
25300 MOVE 2,[0.45]
25400 FMPR 2,RY
25500 MOVEM 2,.COMM.+7
25600 SETZM .COMM.+=30 ; J9=0 LINE 16500
25700 MOVEI 2,=18
25800 MOVEM 2,.COMM.+=26
25900 MOVEI 2,3
26000 MOVEM 2,.COMM.+1 ;JA=3
26100 SETZM .COMM.+6
26200 SETZM .COMM.+=8
26300 MOVN 2,[6.0]
26400 FADRM 2,.COMM.+5 ;R4=R4-6 PUTS PED MARK BELOW STF.
26500 JSA 16,CLEFS
26600
26700 SKIPN 1,JY
26800 JRST AL222
26900 MOVN 2,[1.0]
27000 MOVEM 2,.COMM.+=9 ; R8=-1
27100 MOVEI 2,=19
27200 MOVEM 2,.COMM.+=26 ; J5=19
27300 CAIGE 1,=100
27400 JRST AL203
27500 SUBI 1,=100
27600 MOVEM 1,JY
27700 JSA 16,CLEFS
27800 AL203: MOVE 2,RB
27900 FADR 2,RX
28000 MOVEM 2,.COMM.+4
28100 MOVE JY
28200 CAIGE =10
28300 JRST AL204
28400 SUBI =10
28500 MOVEM JY
28600 JSA 16,CLEFS
28700 AL204: MOVE 2,RB
28800 FADR 2,RX
28900 FADR 2,RX ; R3=RB+RX+RX
29000 MOVEM 2,.COMM.+4
29100 SKIPE JY
29200 JSA 16,CLEFS
29300
29400 AL222: MOVE NR
29500 CAIN 2
29600 JRA 16,(16)
29700 SKIPN 2,RW
29800 JRST ALX
29900 FMPR 2,[5.96]
30000 FSBR 2,RB
30100 MOVNM 2,.COMM.+4
30200 ALX: MOVE 2,POSI+=9 ;RX=POS
30300 MOVEM 2,RX
30400 MOVE 2,RF
30500 MOVEM 2,.COMM.+=7
30600 MOVE 2,[3.0]
30700 FADRB 2,.COMM.+5
30800 MOVEM 2,.COMM.+6 ;R5=R4
30900 SETZM .COMM.+=28
31000 SETZM .COMM.+=8
31100 SETZM .COMM.+=9
31200 SETZM .COMM.+=11 ; R10=0
31300 AL206: JSA 16,ITMSUB
31400 MOVE NR
31500 CAIN 4
31600 JRA 16,(16)
31700 MOVE 2,RX
31800 MOVEM 2,POSI+=9 ;POS=RX
31900 JSA 16,RHORZ
32000 JUMP RF
32100 MOVE 3,
32200 JSA 16,ROFF
32300 JUMP 3
32400 MOVEM .COMM.+4 ;R3=ROFF(RHORZ(RF))
32500 MOVE 2,[1.4]
32600 FMPR 2,RY
32700 FADRM 2,.COMM.+6
32800 JSA 16,ITMSUB
32900 JRA 16,(16)
33000
33100 AL202: MOVE 7,[47717088.0] ; FOR 8VA BASSA
33200 MOVE 2,[88709999.0]
33300 MOVEM 2,.COMM.+=9
33400 MOVE 10,[138.0]
33500 JRST AL214-1
33600
33700 AL201: SKIPE .COMM.+6
33800 JRST .+3
33900 MOVE 2,[1.0]
34000 MOVEM 2,.COMM.+6
34100 MOVE .COMM.+=28
34200 CAIN =15
34300 JRST AL205
34400 MOVE 10,[47.0]
34500 MOVE 7,[99999999.0]
34600 MOVE 6,[51089170.0]
34700 AL214: MOVEM 10,RR10#
34800 MOVE 5,.COMM.+6
34900 FMPR 5,STF+=8 ;RR5 IS AC5
35000 MOVEM 5,RR5#
35100 FMPR 10,5 ;AC10 WILL BE RR3
35200 FADR 10,.COMM.+4
35300 MOVEM 10,RR3#
35400 SETOM JTR
35500 MOVE 2,.COMM.+=28
35600 MOVEM 2,.COMM.+=25 ;J4=J7
35700 MOVE 2,.COMM.+=29
35800 MOVEM 2,.COMM.+=31 ;J10=J8
35900 JRST AL212
36000
36100 AL205: MOVE 6,[51010582.0]
36200 MOVE 7,[70999999.0]
36300 MOVE 10,[56.0]
36400 JRST AL214
36500
36600 AL213: MOVE 2,[1.8]
36700 FMPR 2,RR5
36800 MOVEM 2,.COMM.+=9
36900 SETZM .COMM.+=10
37000 MOVE 2,RR3
37100 MOVEM 2,.COMM.+4
37200 MOVE 2,RF
37300 MOVEM 2,.COMM.+7
37400 MOVE 2,[0.7]
37500 FMPR 2,STF+=8
37600 FADRB 2,.COMM.+5
37700 MOVEM 2,.COMM.+6
37800 ;; MOVE 2,.COMM.+=25 ;J5=J4 (NO LONGER NEEDED]
37900 ;; MOVEM 2,.COMM.+=26
38000 SETOM .COMM.+=32 ;J11=-1
38100 SKIPGE .COMM.+=25
38200 MOVNS .COMM.+=32 ;IF(J4)J11=-J11
38300 SKIPE .COMM.+=31 ;IF(J10.NE.)J11=0
38400 SETZM .COMM.+=32
38500 MOVEI 2,1
38600 MOVEM 2,.COMM.+=28
38700 SETZM .COMM.+=31 ;J10=0
38800 JSA 16,ITMSUB
38900 JRA 16,(16)
39000
39100 AL200: MOVE 2,.COMM.+6
39200 JUMPN 2,.+3
39300 MOVE 2,[1.0]
39400 MOVEM 2,.COMM.+6
39500 MOVN 4,.COMM.+=28 ;IF(J7.EQ.-8)GO TO 202
39600 CAIN 4,=8
39700 JRST AL202
39800 MOVEM 2,RR10
39900 MOVE 2,[6.0]
40000 FMPR 2,STF+=8
40100 JSA 16,IFIX
40200 JUMP 2
40300 ADDB .COMM.+=24 ;J3=J3+6*RSTJ2
40400 MOVEM JR3
40500 MOVE 6,[51898799.0]
40600 MOVE 7,[99999999.0]
40700 MOVNM 4,JTR ; -J7 WAS IN AC4
40800 AL212: MOVEM 6,.COMM.+=7
40900 MOVEM 7,.COMM.+=8
41000 MOVE 2,[0.8]
41100 FMPRM 2,.COMM.+6
41200 JRST AL54
41300
41400 AL52: SKIPE JTR
41500 JRST AL100
41600 MOVE 3,JR3
41700 TLC 3,232000
41800 FADR 3,3
41900 MOVE 2,[20.0]
42000 FMPR 2,STF+=8
42100 FMPR 2,RR10
42200 FADR 2,3
42300 MOVEM 2,.COMM.+4
42400 MOVEI 4
42500 MOVEM .COMM.+1
42600 MOVEI 2
42700 MOVNM .COMM.+=28
42800 MOVE RF
42900 MOVEM .COMM.+7
43000 MOVE [0.7]
43100 FMPR RR10
43200 MOVEM .COMM.+=10
43300 MOVE [0.9]
43400 FMPR RR10
43500 MOVEM .COMM.+=9
43600 SETZM .COMM.+=31
43700 SKIPGE PLTR
43800 AOS .COMM.+=31
43900 JSA 16,ITMSUB
44000 AL100: SKIPGE JTR
44100 JRST AL213
44200 SKIPL KFNT
44300 JRST .+3
44400 MOVEI 1
44500 MOVEM IFNT
44600 SETZM KFNT
44700 JRA 16,(16) ;END
44800
44900 SPACER: 0 ;CALL SPACERR(J5,IFNT,RB,R)
45000 MOVE @(16) ; J5 FOR NOW
45100 CAILE =47
45200 JRST SP10
45300 CAIG =9
45400 JRST SP117
45500 CAIGE =36
45600 JRST SP10
45700 SP117: MOVE 3,[1.0] ; AC3 IS RSX
45800 SKIPGE @1(16) ;IFNT FOR NOW
45900 MOVE 3,[0.9]
46000 JRST SP3
46100
46200 SP10: CAIGE =47
46300 JRST SP5
46400 CAIN =52
46500 JRST SP14
46600 CAIE =48
46700 JRST .+3
46800 MOVEI 2,1
46900 MOVEM 2,@1(16) ;IFNT
47000 CAIN =49
47100 SETOM @1(16)
47200 CAIGE =55
47300 JRA 16,4(16)
47400 JRST SP5
47500
47600 SP14: SETZM @1(16)
47700 MOVEI 2,=10
47800 MOVEM 2,.COMM.+1 ;JA=10
47900 JRA 16,4(16)
48000
48100 SP5: MOVE 3,[1.08]
48200 SKIPGE @1(16)
48300 MOVE 3,[0.96]
48400 CAIN =22
48500 JRST SP277
48600 CAIE =32
48700 JRST SP3
48800 SP277: FMPR 3,[1.12] ;3 IS RSX
48900 SP3: CAIGE =36
49000 CAIN 1
49100 JRST SP21
49200 CAIE =18
49300 CAIN =19
49400 JRST SP21
49500 SKIPL @1(16)
49600 JRST SP4
49700 CAIE =15 ; NEXT FOR LOWER CASE SPACING
49800 CAIN =21
49900 JRST SP21
50000 CAIE =29
50100 JRST SP4
50200 SP21: CAIE =47
50300 FMPR 3,[0.68] ;SPACER FOR A BLANK
50400 SP4: FMPR 3,@3(16) ;RB=RB+R*RSX
50500 FADRM 3,@2(16)
50600 JRA 16,4(16)
50700 END